home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / 1.098 / mach / sun4c.md / ieee.h < prev    next >
C/C++ Source or Header  |  1989-08-17  |  1KB  |  72 lines

  1. /*    @(#)ieee.h 1.4 88/02/08 SMI    */
  2.  
  3. /*
  4.  * Copyright (c) 1987 by Sun Microsystems, Inc.
  5.  */
  6. /*
  7.  * This whole file refuses to lint.
  8.  */
  9. #ifndef lint
  10.  
  11.     /*    Sparc IEEE floating-point support PUBLIC include file.  */
  12.  
  13.     /*    PUBLIC CONSTANTS    */
  14.  
  15.     /*    PUBLIC TYPES     */
  16.  
  17.     /* IEEE Arithmetic types... numbered to correspond to fsr fields. */
  18.  
  19. enum fp_rounding_direction         /* rounding direction */
  20.     {
  21.     fp_rd_nearest    = 0,
  22.     fp_rd_zero    = 1,
  23.     fp_rd_plus    = 2,
  24.     fp_rd_minus    = 3
  25.     } ;
  26.  
  27. enum fp_rounding_precision        /* extended rounding precision */
  28.     {
  29.     fp_rp_extended    = 0,
  30.     fp_rp_single    = 1,
  31.     fp_rp_double    = 2,
  32.     fp_rp_3        = 3
  33.     } ;
  34.  
  35. enum fp_exception_type            /* exceptions according to cexc bit number */
  36.     {
  37.     fp_inexact    = 0,
  38.     fp_divide    = 1,
  39.     fp_underflow    = 2,
  40.     fp_overflow    = 3,
  41.     fp_invalid    = 4
  42.     } ;
  43.  
  44. enum fp_class_type            /* floating-point classes according to fclass */
  45.     {
  46.     fp_zero        = 0,
  47.     fp_normal    = 1,        /* Includes subnormal. */
  48.     fp_infinity       = 2,
  49.     fp_nan        = 3,        /* Includes quiet and signaling NaN. */
  50.     } ;
  51.  
  52.     /* PUBLIC GLOBAL VARIABLES */
  53.  
  54. unsigned fp_accrued_exceptions ;    /* Sticky accumulated exceptions. */
  55.  
  56.     /* PUBLIC FUNCTIONS */
  57.  
  58. extern enum fp_rounding_direction swap_rounding_direction( /* rd */ ) ; 
  59. /*
  60. extern enum fp_rounding_direction rd ; 
  61.  
  62. /* Change rounding mode; return previous. */ 
  63.  
  64. extern int swap_accrued_exceptions ( /* x */ ) ;
  65. /*
  66. int x ;
  67.  
  68. /* Change accrued exceptions ; return previous. */
  69.  
  70.  
  71. #endif /* lint */
  72.